programming logic for coding